const express = require("express");
let app = express();
let news = require("./news.json");
const fs = require("fs");
// let news =  JSON.parse( fs.readFileSync("./news.json"));
// console.log(news);
// 显示新闻列表的路由
app.get("/list", (req, res) => {
  // 根据news数据显示新闻列表
  let str = "<ul>";
  news.forEach((item) => {
    // querystring带参 携带 id（唯一标识符） ；
    // str += `<li> <a href="/showDetail/${item.id}">${item.title}</a></li>`;
    str += `<li> <a href="/showDetail?id=${item.id}">${item.title}</a></li>`;
  });
  str += "</ul>";
  // 显示新闻列表
  res.send(str);
  // 1.send 组装字符串 2.加载news.html: 没办法获取数据 ？方式一 通过nodejs服务器把数据推送到 news.html里  ssr: server send render。seo 优化. 方式二： news.html里通过js 里的ajax 来获取数据；
});

// 实现新闻详细
app.get("/showDetail", (req, res) => {
  // 接收id 的值 ；
  let { id } = req.query; // querystring 接收的数字是字符串类型
  // console.log(typeof id);
  // 根据id 来查找具体是哪条数据
  let detaildata = news.find((item) => item.id == id);
  // console.log(detaildata);
  let showhtml = `<h1>${detaildata.title}</h1><p>${detaildata.content}</p>`;
  res.send(showhtml);
});

app.listen(8989);
